Skip to content
Need help with our api? Ask in Community

ShipHero GraphQL Public API

ShipHero’s public API provides access to platform data and operations for custom integrations. It is built on GraphQL, allowing clients to request exactly the fields they need for each workflow.

Latest Changes

2026 July 16th:

Added the webhooks_call_logs query for checking webhook delivery history after a webhook is created. It returns paginated call metadata, including timestamps, destination URLs, HTTP status codes, and response metadata, so integrations can verify that an endpoint is being called without exposing webhook payloads. Requires the view:webhooks scope.

Updated wholesale_order_import_packing_layout and the Import Packing Layout flow. Pallet and Package inputs now use mutually exclusive custom_box_id or carrier_box_code box references instead of shipping_box_id; referenced boxes supply their dimensions. CasePack and UOM Pallet inputs can use submitted dimensions and weight as overrides, or omit them to use the linked product case configuration.

2026 July 2nd: Added third_party_shipper to the order_create mutation input. Use it to provide third-party billing details for created orders: account_number, zip, and country.

2026 July 2nd: Added customer_account_id to mergeable_orders.data so 3PL users can filter mergeable order candidates to a specific customer account they manage. The Merge Orders flow now includes an example using the filter with existing mergeable order filters.

2026 June 29th: Added the pause_shipping filter to the orders query for 3PL accounts. Use pause_shipping: true to find orders for customers with paused shipping, or pause_shipping: false to find orders where shipping is not paused. The filter can be combined with warehouse_id to evaluate the customer relationship for a specific warehouse.

2026 June 25th:

Expanded the wholesale “packed outside ShipHero” flow:

  • Added wholesale_order_mark_as_packed to transition a wholesale order from packing to packed after the packing layout has been imported. It creates the License Plate Numbers (LPNs) for the imported containers, moves inventory out of the staging bin into them, and seeds SSCC-18 barcodes for trading partners that require GS1 labeling. Optional step.
  • Added wholesale_order_generate_labels to asynchronously generate shipping and GS1/carton labels for a packed wholesale order. Optional step.
  • Added wholesale_order_print_labels to mark a wholesale order’s labels as printed and retrieve the shipping labels PDF. Optional step.
  • wholesale_order_import_packing_layout: CasePack entries no longer accept a quantity field — each CasePack represents exactly one physical shippable unit (one SSCC-18 barcode). To pack multiple cases, send separate single-unit CasePack entries.

2026 June 24th: Added the tote_transfer_to_location mutation to move the current picked contents of a tote into a destination location/bin. The tote and destination location must be accessible to the token and belong to the same warehouse. See the schema reference for input and response fields.

View the full changelog